# AutoGen 服务 ## 概述 每个 AutoGen 代理系统都有一个或多个代理工作器和一组用于管理/支持代理的服务。这些服务和工作器可以全部托管在同一进程中,也可以在分布式系统中运行。当在同一进程中时,通信和事件传递是在内存中进行的。当分布式部署时,工作器通过 gRPC 与服务通信。在所有情况下,事件都被打包为 CloudEvents。后端服务有多个选项: - 内存模式:代理工作器和服务都托管在同一进程中,通过内存通道进行通信。适用于 Python 和 .NET。 - 仅 Python:代理工作器与 Python 托管的服务通信,该服务实现了内存消息总线和代理注册表。 - Microsoft Orleans:一个分布式 actor 系统,可以托管服务和工作器,支持持久存储的分布式状态,可以利用多种事件总线类型,以及跨语言代理通信。 - *路线图:支持其他语言的分布式系统,如 dapr 或 Akka。* 系统中的服务包括: - 工作器:托管代理并作为网关的客户端 - 网关: -- 其他服务 API 的 RPC 网关 -- 为工作器和事件总线之间提供 RPC 桥接 -- 消息会话状态(跟踪消息队列/传递) - 注册表:跟踪系统中的 {代理:代理类型}:{订阅/主题} 以及它们可以处理的事件 -- *路线图:在网关中添加查找 API* - 代理状态:代理的持久状态 - 路由:基于代理的订阅+主题传递事件 -- *路线图:添加订阅管理 API* - *路线图:代理系统的管理 API* - *路线图:调度:管理代理的放置* - *路线图:发现:允许发现代理和服务*